TRACCIA 1
La funzione di
trasferimento data,riscritta come: G(s)=1/[s*(1+s*1/10)*(1+s*1/20)], presenta
un polo nell’origine, uno in s=-10, uno in s=-20). Il suo diagramma di BODE, in
modulo e fase, è riportato in figura. Nel caso che si assumano G=H=1 questo
diagramma corrisponde anche alla f.d.t. ad anello aperto del sistema
retroazionato.
La specifica 1 fornita dal testo è da
interpretare. Normalmente per rapporto segnale disturbo si intende il rapporto
tra il segnale utile e il disturbo in uscita. Per migliorare le prestazioni
complessive del sistema bisogna imporre che il rapporto segnale disturbo, che
con lo schema dato corrisponde a G1, sia maggiore di zero.
Ipotizziamo pertanto che la condizione posta dalla traccia si riferisca al
rapporto tra il segnale di disturbo in uscita e quello entrante. In tal caso
vale la relazione:
|Yn/D| =|G/[1+G1*H*G]| . La specifica 1 impone: |G/[1+G1*H*G]| <=1/10 per w <=10 rad/sec
Si ricava quindi
|1+G1*G*H|>=10*G ; da cui G1*H>=10.
La specifica 2 vuole che S=|(dW/W)/(dG/G)|
<-10db per w
<=10 rad/sec, dove
W è la f.d.t. ad anello chiuso, e dw la sua variazione dovuta a quella
parametrica di G.
Poiché S=|1/[1+G1*H*G]|, la specifica diventa:
-20Log| [1+G1*H*G]|<=-10 da cui segue: Log| [1+G1*H*G]|>=1/2.
Per ottemperare a entrambe le specifiche poste si deve imporre |G*H|>10 .
Se ipotizziamo ora H=1 ed una rete correttrice G puramente proporzionale con
k>=10 otteniamo un sistema di tipo 1 (risposta A) il cui diagramma di
Bode è traslato verso l’alto di >=20 db.
Dal diagramma di Bode della fase si osserva che per mantenere la stabilità
(fase>-180° quando |G1*G|=1 non possiamo spingere il valore di K oltre i
circa 26 db.
Quindi la zona del piano in cui può variare la f.d.t. è quella tratteggiata in
figura.
Tuttavia anche con k=10 il margine di fase è piuttosto basso: circa 20°.
La situazione può essere migliorata, a parità delle altre condizioni,
introducendo ad es. uno zero in s=-10 e poi un polo in s=-100 potremmo quindi
imporre G=10*(1+s*0.1)/(1+s*0.01).
Con questa ulteriore scelta il margine di fase migliora di molto e sarebbe
quindi possibile incrementare ulteriormente K.
TRACCIA 2
Ad un primo livello di
analisi la traccia propone un sistema di controllo modulare, articolato su otto
ambienti, gli otto spazi, gli otto settori. Ogni settore è dotato di un sistema
di rilevazione degli autoveicoli in ingresso ed in uscita. In relazione alle
informazioni derivanti da questi sensori, un attuatore deve comandare una
sbarra di accesso al singolo settore.
Le informazioni relative ai singoli settori devono essere utilizzate per
decidere il comado dell’accesso principale all’intera zona posteggi. Un
pannello di segnalazione, sull’ingresso principale, deve indicare agli
automobilisti la situazione per ogni settore, in termini di posti liberi
Analizzando la
traccia in modo più approfondito si possono rilevare i seguenti dati:
Vincoli
L’accesso al
singolo settore è consentito ad una macchina per volta
La sbarra principale si chiude quando i posti liberi, complessivamente,
risultano 10.
La segnalazione del pannello d’ingresso deve comunicare i posti liberi per ogni
settore
Ipotesi aggiuntive
Ogni settore può
ospitare lo stesso numero di macchine
Il perimetro del parcheggio sia inferiore ai 1200 m.
Rappresentazione di massima del sistema e prima schematizzazione circuitale.
Le caratteristiche ambientali e la tipologia del controllo richiesto suggerisce
l’uso di una connessione con un bus RS485. Tale scelta presenta come punto di
forza la semplicità del cablaggio, la grande disponibilità sul mercato di
moduli, sensori ed attuatori, predisposti per questo uso (con interfaccia intelligente
incorporata).
Lo schema proposto
prevede una unità di controllo con interfaccia RS485 che funge da master e
controlla i vari moduli collegati, oltre a comandare il pannello di
comunicazione.
La traccia parla di sistema a microprocessore, ma, considerando l’esigenza di
consentire un accesso facilitato per il controllo del sistema ed una maggiore
protezione, si potrebbe pensare ad un pc industriale. Data la non elevata
complessità di calcolo e la relativa "lentezza" del processo da
controllare non si pongono problemi particolari per la scelta del processore.
Certo, considerando la diffusione sul mercato di prodotti per lo sviluppo applicazioni
su processori Intel , anche con linguaggi ad alto livello, oltre alla
disponibilità di strumenti di debug a basso costo, risulta conveniente
utilizzare un computer con queste cpu. Basterebbe addirittura un 486.
Considerando poi che i vari processori, anche i più complessi della famiglia
possono lavorare in emulazione 8086, qualunque scelta va bene. Certo si
potrebbe pensare all’uso di un sistema a microprocessore con cestello e schede
separate per la cpu e l’I/O. Le difficoltà introdotte da questa scelta sono
relative soprattutto allo sviluppo e testing del software che deve stare su
eprom.
In ogni caso le considerazioni di progetto del sistema complessivo valgono per
entrambe le alternative. E’ possibile infatti trovare sul mercato schede che
ospitano anche il dos su eprom.
Per interfacciare l’unità di controllo al bus bisogna verificare la
disponibilità di una porta RS485 Ove mai fosse presente una porta RS232, si
potrebbero utilizzare comodamente moduli di adattamento 232-485, in genere
venduti dagli stessi fornitori di sensori.
Agli estremi del bus bisogna prevedere opportune resistenze di teminazione di
60 ohm.
Per quanto riguarda i sensori, dovendo solo rilevare il passaggio basta
utilizzare una barriera o una fotocellula, in genere direttamente interfacciabili
al modulo periferico RS485. Le prestazioni dei moduli commerciali sono ormai
tali da non richiedere condizionamenti.
L’azionamento delle sbarre di accesso richiede l’uso di motori in
continua e della relativa circuiteria di controllo e protezione.
La parte di segnalazione può essere affidata ad un pannello luminoso a matrice,
in genere disponibile per interfaccia RS232/485 e già fornito con le
ineterfacce di comando.
Algoritmo di
funzionamento.
Preliminarmente
bisogna decidere quale tipo di linguaggio utilizzare. Trattandosi di una
gestione sostanzialmente on-off di processo che non richiede calcoli complessi,
risulta possibile la scelta di un linguaggio di alto livello o dell’assembly
del processore.
Per il linguaggio ad alto livello si potrebbe propendere per il C, anche in
relazione al fatto che le interfacce utente sono semplicissime e di solo ouput.
D’altro canto le funzionalità di I/O di questo linguaggio ( import, outport) o
le funzioni di controllo delle seriali (bioscom…) consentono una facile
gestione del processo ed anche maggiori possibilità di simulazione e debug.
Oltretutto, anche
l’eventuale gestione degli interrupt, che del resto non si ritengono
fondamentali in questa applicazione, è agevole con il linguaggio C
(getvect,sectvet..)
Facciamo comunque riferimento alle due possibili alternative.
Le attività del programma, che i moduli sw dovrebbero generare,
potrebbero essere:
Per
la codifica delle parti di programma relative alla situazione dei singoli
settori, si tratta di semplici procedure di aggiornamento di variabili e
confronto da sviluppare con le istruzioni del linguaggio prescelto.
Domenico Capezzuto, docente di sistemi all’Itis "G.L.Lagrange" di Milano
Emanuele Impallomeni, docente di sistemi all’Itis "G.Giorgi" di Milano
Umberto Torelli, docente di elettrocnica all’Itis
"G.Feltrinelli" di Milano